/**
 * 自动生成！请勿修改！
 */
import { command } from '../core/command';

class Light {
    static categoryCode = '010010001';

    static categoryName = '灯';

    device = {};

    opts = {};

    _to = undefined;

    constructor(opt = {}) {
        const { device, to, ...opts } = opt;

        this.device = device;
        this.opts = opts;
        this._to = to;
    }

    get categoryCode() {
        return Light.categoryCode;
    }

    get categoryName() {
        return Light.categoryName;
    }

    getAbsoluteBrightness(params) {
        return command({
            method: 'getAbsoluteBrightness',
            methodId: 'pj7xdhPr',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getBreathingLightMode(params) {
        return command({
            method: 'getBreathingLightMode',
            methodId: 'UvxDHvvx',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getColorTemperature(params) {
        return command({
            method: 'getColorTemperature',
            methodId: 'pNnZCUnd',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getEyeProtectionMode(params) {
        return command({
            method: 'getEyeProtectionMode',
            methodId: 'UmaSDdhV',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getIlluminationMode(params) {
        return command({
            method: 'getIlluminationMode',
            methodId: 'pqYhPCRZ',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getNightMode(params) {
        return command({
            method: 'getNightMode',
            methodId: 'Unfc4rZS',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getPowerOffMemory(params) {
        return command({
            method: 'getPowerOffMemory',
            methodId: 'U8O3rNfb',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRGB(params) {
        return command({
            method: 'getRGB',
            methodId: 'UaMC8Z03',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRatedPower(params) {
        return command({
            method: 'getRatedPower',
            methodId: 'UODeTLcG',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRealTimePower(params) {
        return command({
            method: 'getRealTimePower',
            methodId: 'UCb298Vo',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRelativeBrightness(params) {
        return command({
            method: 'getRelativeBrightness',
            methodId: 'pXZuSByA',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSaturation(params) {
        return command({
            method: 'getSaturation',
            methodId: 'UfjZYWAR',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSceneMode(params) {
        return command({
            method: 'getSceneMode',
            methodId: 'U9KmmJIk',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getShiningFrequency(params) {
        return command({
            method: 'getShiningFrequency',
            methodId: 'U5suK2k1',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSleepMode(params) {
        return command({
            method: 'getSleepMode',
            methodId: 'pWG0lAxL',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSwitch(params) {
        return command({
            method: 'getSwitch',
            methodId: 'pBTQJQJC',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSwitchingGradient(params) {
        return command({
            method: 'getSwitchingGradient',
            methodId: 'URPrUTlq',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setAbsoluteBrightness(params) {
        return command({
            method: 'setAbsoluteBrightness',
            methodId: 'pUPQQiFz',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setBreathingLightMode(params) {
        return command({
            method: 'setBreathingLightMode',
            methodId: 'ptRSARIl',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setColorTemperature(params) {
        return command({
            method: 'setColorTemperature',
            methodId: 'pZgRgHhI',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setEyeProtectionMode(params) {
        return command({
            method: 'setEyeProtectionMode',
            methodId: 'pghzV1CM',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setIlluminationMode(params) {
        return command({
            method: 'setIlluminationMode',
            methodId: 'pGoxuv0E',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setNightMode(params) {
        return command({
            method: 'setNightMode',
            methodId: 'pDrhxkvn',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setPowerOffMemory(params) {
        return command({
            method: 'setPowerOffMemory',
            methodId: 'pdN7hWk5',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setRGB(params) {
        return command({
            method: 'setRGB',
            methodId: 'phEqZolK',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setRelativeBrightness(params) {
        return command({
            method: 'setRelativeBrightness',
            methodId: 'ppAXpyHW',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSaturation(params) {
        return command({
            method: 'setSaturation',
            methodId: 'p0cXc6sU',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSceneMode(params) {
        return command({
            method: 'setSceneMode',
            methodId: 'pkp10gaP',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setShiningFrequency(params) {
        return command({
            method: 'setShiningFrequency',
            methodId: 'pz93se6w',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSleepMode(params) {
        return command({
            method: 'setSleepMode',
            methodId: 'p1vFkNc9',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSwitch(params) {
        return command({
            method: 'setSwitch',
            methodId: 'peHyXjRR',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSwitchingGradient(params) {
        return command({
            method: 'setSwitchingGradient',
            methodId: 'p3de6zVm',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }
}

export default Light;
